package unifor.mia.redes.relprotocol;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import unifor.mia.redes.relprotocol.msg.Pacote;

public class ReliableProtocolComponent implements Runnable {

	protected static String CABECALHO = "ReliableProtocol Header";
	public static int TAMANHO_PACOTE = 5;
	protected static long seq = 0l;
	
	@Override
	public void run() {
		// late bound
	}

	protected Pacote criaMensagem(String mensagem) {
		Pacote msg = new Pacote();
		msg.setHeader(CABECALHO);
		msg.setBody(mensagem);
		msg.setHash(criarHash(mensagem));
		msg.setSeq(seq++);

		return msg;
	}

	protected String criarHash(String msg) {
		MessageDigest md;
		String hash = "";
		try {
			md = MessageDigest.getInstance("SHA-1");
			md.update(msg.getBytes());
			hash = new String(md.digest());
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return hash;
	}


}
